Event Listeners এবং Handlers কনফিগার করা

Web Development - এক্সটিজেএস (ExtJS) - ExtJS Event Management |

ExtJS এ Event Listeners এবং Handlers ব্যবহৃত হয় ইউজার ইন্টারঅ্যাকশনে (যেমন: ক্লিক, হোভার, কীবোর্ড ইনপুট ইত্যাদি) রেসপন্স জানাতে। এক্সটিজেএস একটি শক্তিশালী ইভেন্ট সিস্টেম সরবরাহ করে, যা ডেভেলপারদের তাদের অ্যাপ্লিকেশনে ইন্টারঅ্যাকশনের জন্য সহজে ইভেন্ট লিসেনার এবং হ্যান্ডলার কনফিগার করতে দেয়।


১. Event Listener

Event Listener হলো এমন একটি ফাংশন বা মেথড যা নির্দিষ্ট একটি ইভেন্টের জন্য অপেক্ষা করে এবং সেই ইভেন্টটি ঘটলে এটি ট্রিগার হয়। ExtJS এ, event listeners সাধারণত কম্পোনেন্টে যোগ করা হয়, যেমন বাটন ক্লিক, মাউস মুভ, বা ফর্ম সাবমিটের জন্য।

ইভেন্ট লিসেনার কনফিগারেশন

একটি কম্পোনেন্টের জন্য ইভেন্ট লিসেনার কনফিগার করতে, আপনি listeners কনফিগারেশন ব্যবহার করতে পারেন, যা কম্পোনেন্টের নির্দিষ্ট ইভেন্টের জন্য ফাংশন নির্ধারণ করে।

উদাহরণ:

Ext.create('Ext.Button', {
    text: 'Click Me',
    renderTo: Ext.getBody(),
    listeners: {
        click: function() {
            alert('Button clicked!');
        }
    }
});

এখানে, click ইভেন্টের জন্য একটি লিসেনার কনফিগার করা হয়েছে যা বাটনে ক্লিক করলে একটি অ্যালার্ট বক্স প্রদর্শন করবে।


২. Event Handler

Event Handler হল একটি ফাংশন যা একটি ইভেন্ট ঘটলে তার সাথে সম্পর্কিত কোনো কাজ সম্পন্ন করতে ব্যবহৃত হয়। ExtJS এ, আপনি ইভেন্ট হ্যান্ডলার কনফিগার করে তার ভিতরে যে কোডটি চালাতে চান তা লিখতে পারেন।

হ্যান্ডলার কনফিগারেশন

handler কনফিগারেশন ব্যবহার করে আপনি ইভেন্ট হ্যান্ডলার ফাংশন নির্ধারণ করতে পারেন, যা কম্পোনেন্টে ইভেন্ট ঘটলে চালিত হয়।

উদাহরণ:

Ext.create('Ext.Button', {
    text: 'Submit',
    renderTo: Ext.getBody(),
    handler: function() {
        alert('Submit button clicked!');
    }
});

এখানে, handler কনফিগারেশন দ্বারা Submit বাটনের জন্য একটি ইভেন্ট হ্যান্ডলার তৈরি করা হয়েছে, যা বাটনে ক্লিক করলে অ্যালার্ট দেখাবে।


৩. Listeners এবং Handlers এর মধ্যে পার্থক্য

  • Event Listeners:
    • লিসেনার গঠন বেশি ফ্লেক্সিবল এবং এটি একাধিক ইভেন্ট হ্যান্ডল করতে সাহায্য করে।
    • আপনি একাধিক ইভেন্টের জন্য একটি একক ফাংশন ব্যবহার করতে পারেন (যেমন, click, mouseover, dblclick ইত্যাদি)।
  • Event Handlers:
    • সাধারণত একক ইভেন্টের জন্য সরাসরি একটি ফাংশন প্রদান করা হয়।
    • এটি একটি সহজ এবং সরল পদ্ধতি যেখানে সাধারণত একটি নির্দিষ্ট ইভেন্টের জন্য শুধুমাত্র একটি ফাংশন লিখা হয়।

৪. একাধিক ইভেন্ট লিসেনার কনফিগার করা

একটি কম্পোনেন্টে একাধিক ইভেন্ট লিসেনার কনফিগার করতে, আপনি listeners অবজেক্টে একাধিক ইভেন্ট হ্যান্ডলিং ফাংশন যোগ করতে পারেন।

উদাহরণ:

Ext.create('Ext.Button', {
    text: 'Click or Hover',
    renderTo: Ext.getBody(),
    listeners: {
        click: function() {
            alert('Button clicked!');
        },
        mouseover: function() {
            this.setText('Mouse Over'); // বাটনের লেখা পরিবর্তন
        },
        mouseout: function() {
            this.setText('Click or Hover'); // আবার বাটনের লেখা আগের মতো
        }
    }
});

এখানে, click, mouseover, এবং mouseout ইভেন্টগুলোর জন্য আলাদা আলাদা লিসেনার কনফিগার করা হয়েছে।


৫. Event Object (ইভেন্ট অবজেক্ট)

ইভেন্ট লিসেনার এবং হ্যান্ডলার ফাংশনের মধ্যে একটি event অবজেক্ট পাঠানো হয় যা ইভেন্টের সকল তথ্য ধারণ করে, যেমন ইভেন্টের ধরন, টার্গেট এলিমেন্ট, এবং অন্যান্য প্রাসঙ্গিক তথ্য। এই অবজেক্টটি ইভেন্টের সাথে সম্পর্কিত মেটাডেটা সরবরাহ করে।

উদাহরণ:

Ext.create('Ext.Button', {
    text: 'Click Me',
    renderTo: Ext.getBody(),
    listeners: {
        click: function(event) {
            console.log('Event Target:', event.target); // ক্লিক করা এলিমেন্ট দেখাবে
        }
    }
});

এখানে, event.target ব্যবহার করে ক্লিক করা এলিমেন্টের তথ্য লগ করা হয়েছে।


৬. Bubble Events (বাবলিং ইভেন্টস)

ExtJS এ, কিছু ইভেন্ট বাবা-মা কম্পোনেন্টের দিকে "বাবল" (propagate) করে। একে event bubbling বলা হয়। বাবা কম্পোনেন্টে ইভেন্টটি শ্রবণ করার জন্য, আপনি delegate কনফিগারেশন ব্যবহার করতে পারেন। এটি বিশেষভাবে দরকারি যখন আপনি DOM এর বিভিন্ন স্তরে একই ইভেন্ট হ্যান্ডল করতে চান।

উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'Click Event on Panel',
    width: 200,
    height: 200,
    renderTo: Ext.getBody(),
    listeners: {
        click: {
            fn: function() {
                alert('Panel clicked!');
            },
            delegate: '.x-panel-header' // শুধুমাত্র প্যানেলের হেডারে ক্লিক করলে ট্রিগার হবে
        }
    }
});

এখানে, click ইভেন্টটি .x-panel-header এর উপর বাবল হবে এবং প্যানেলের হেডারে ক্লিক করলে ইভেন্টটি ট্রিগার হবে।


সারাংশ

  • Event Listeners এবং Event Handlers ExtJS অ্যাপ্লিকেশন তৈরি করার সময় ইউজার ইন্টারঅ্যাকশনের জন্য অত্যন্ত গুরুত্বপূর্ণ।
  • Event Listener একটি ফাংশন বা মেথড যা নির্দিষ্ট একটি ইভেন্টের জন্য অপেক্ষা করে এবং ইভেন্টটি ঘটলে এটি ট্রিগার হয়।
  • Event Handler একটি ফাংশন যা নির্দিষ্ট ইভেন্টের জন্য ইভেন্ট সংঘটিত হলে কাজ করে।
  • একাধিক ইভেন্ট কনফিগার করতে আপনি listeners কনফিগারেশন ব্যবহার করতে পারেন।
  • Event Object ব্যবহার করে ইভেন্ট সম্পর্কিত বিস্তারিত তথ্য সংগ্রহ করা যায়।

এই ইভেন্ট সিস্টেমগুলি এক্সটিজেএস অ্যাপ্লিকেশনে ইউজার ইন্টারঅ্যাকশন সহজে পরিচালনা করতে সাহায্য করে।

Content added By
Promotion